/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ca.qc.bdeb.jeuxdesboites.model;

import java.awt.Point;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
 *
 * @author Eric Wenaas <eric.wenaas@bdeb.qc.ca>
 */
class AIUtils {
    
    static int compterCasesSecuritaires(TableauJeu tableau, 
                                                GroupesVulnerable groupes) {
        Set<Point> ensembleCaseslibres = new HashSet<>();
	int largeur = tableau.getLargeur();
	int hauteur = tableau.getHauteur();

	for (int x=0; x<largeur; x++) {
	    for (int y=0; y<hauteur; y++) {
                if (! tableau.isBoiteFerme(x, y)) {
                    ensembleCaseslibres.add(new Point(x,y));
                }
	    }
	}
        for (List<Point> aList : groupes) {
            for (Point p : aList) {
                ensembleCaseslibres.remove(p);
            }
        }
	return ensembleCaseslibres.size();
    }
}
